package com.huajx.kit;

public class StrKit {
	/**
	 * 判断字符数据中，是否存在空值
	 * 
	 * @param strings
	 * @return
	 */
	public static boolean isBlank(String...strings){
		if(strings==null){
			return true;
		}
		
		if(strings.length == 0){
			return true;
		}
		
		for (String string : strings) {
			if(isBlank(string)){
				return true;
			}
		}
		
		return false;
	}
	
	/**
	 * 判断字符串数组中，所有的是否都不为空
	 * Jfinal strKit.notBlank 有Bug，当判断String[0]时，结果为true;
	 * @param strings
	 * @return
	 */
	public static boolean notBlank(String...strings){
		if(strings==null){
			return false;
		}
		
		if(strings.length == 0){
			return false;
		}
		
		for (String string : strings) {
			if(isBlank(string)){
				return false;
			}
		}
		
		return true;
	}
	
	/**
	 * 字符串为 null 或者内部字符全部为 ' ' '\t' '\n' '\r' 这四类字符时返回 true
	 */
	public static boolean isBlank(String str) {
		if (str == null) {
			return true;
		}
		int len = str.length();
		if (len == 0) {
			return true;
		}
		for (int i = 0; i < len; i++) {
			switch (str.charAt(i)) {
			case ' ':
			case '\t':
			case '\n':
			case '\r':
			// case '\b':
			// case '\f':
				break;
			default:
				return false;
			}
		}
		return true;
	}
	
	public static boolean notBlank(String str) {
		return !isBlank(str);
	}
}
